趁光影交接時,飛吧!
你在TSM Console裏面,學會的指令越多,能做的事情就越多,最後你在AIX OS裏,能寫的Shell Script就變成無敵多。
一早,on哥已經坐在這等太陽出現了,on哥昨天測試了太陽交待的指令後,今天開心的將筆電準備好,因為那些指令,他都測試過了。沒多久,太陽來了,on哥看到他,興奮的說「Yo,早啊,昨天下午請假啊! 你說的指令,我都會了耶,今天要跟我說什麼其它的嗎?」
太陽將筆記本,翻到昨天那一頁...『TSM DB備份的指令你會了,再來是使用Query簡稱q,對TSM做查詢,所有可查詢的資訊,都是從TSM DB中取出來的。』
「是啊!」
『再來,要和你說的是SQL語法的Select,一樣是在TSM Console中使用,你在TSM Console裏面,學會的指令越多,能做的事情就越多,最後你在AIX OS裏,能寫的Shell Script就更多。像這個...
select a.NODE_NAME, a.SCHEDULE_NAME, a.STATUS, a.RESULT, to_char(a.ACTUAL_START, 'yyyy-mm-dd hh24:mi:ss') AS Start_Time, to_char(a.COMPLETED, 'yyyy-mm-dd hh24:mi:ss') AS End_Time, CAST(FLOAT(SUM(b.bytes)) / 1024 / 1024 / 1024 AS DECIMAL(8,2)) as Backup_GB, '' as ErrorReason, '' as CheckProcess, '' as ServerOwner, '' as OP from events a, summary b where ( b.activity='ARCHIVE' OR b.activity='BACKUP' OR b.activity='EXPIRATION') and (a.Scheduled_start between '%s' and '%s' ) And (a.status = 'Completed' and node_name is not null ) and ( a.node_name = b.entity ) group by a.NODE_NAME, a.SCHEDULE_NAME, a.STATUS, a.RESULT, to_char(a.ACTUAL_START, 'yyyy-mm-dd hh24:mi:ss'), to_char(a.COMPLETED, 'yyyy-mm-dd hh24:mi:ss') order by a.node_name
。』
on哥看了一下太陽呼叫出來的畫面,呆掉了...「這個是? 什麼??」
『這就是一般常用的TSM Sql語法,你在TSM Console中,可以使用這樣的語法,將客戶想要的資訊Select出來,做成客制化的報表。』
「可是,我看到你給我的EMail 裏,那個顧問B,不是寫說你沒能力製作客戶報表? 你如果會用Select,又寫的出這麼長的語法,他為什麼要那樣說你?」
『這個...業主方提出想要看什麼內容的報表,我們就照業主方提出的去製作,對吧!?』
「沒錯啊。」
『業主方如果沒有提出要看的報表,我們就不該擅自到資料庫裏面,去將資料取出,對吧!』
「是啊! 這大家都知道的吧,怎麼可以自己抓資料出來! 這些不都是國家機密?」
『那位顧問B,認為,我沒有聽他的,製作他提出,但未經業主同意的報表,所以...就寫E-Mail給他主管、PM、我們老闆相關人等...說我沒有製作TSM 報表能力,要來教我怎麼做Report。』
「這...」
『還很多很扯的事啦,這個不提了,總之...你可以使用Select指令,到TSM DB中取出你想要的資料。這個彈性,會比TSM提供的Query指令,還要大,取得的資訊也最完整。像是從TSM DB中取出備份檔案數最多的TSM Client是那一台,備份空間占最多的是那一個TSM Client,平均備份花多少時間等等,這些報表都可透過Select製作出來。』
「了解。」
『那...再來...嘿嘿嘿,下面的是TSM DB裏面的Table名稱,你今天就一個一個試吧! 嘿嘿嘿...我之前測了一個月,才把業主要的報表給做出來,所以...焦糖馬琪朵、熱的、大杯加一個帕里尼。』
「所以...蝦米!? 咖啡就算了,後面那個是什麼? 什麼尼?」
『你有三個選擇,一、不做了,今天就離職。二、過兩天收到顧問B,昭告全天下,on哥沒能力的信。三、花錢消災...』
on哥心想...「這賊船可真不好搭啊!」
「好啦好啦,就你說的焦糖馬琪朵、熱的、大杯跟那個什麼尼吧!」話一說完,太陽從桌下面出了一杯焦糖馬琪朵和一個雞肉帕里尼。
『這陣子辛苦啦,這是請你吃的! 你慢慢吃,我去吹一下風,待會回來...哦哦,這幾個Table你要先看一下,你一定不知道,這裏面有什麼內容,所以就用select * from nodes,看看裏面有什麼資料吧。
這下面的慢慢試,這都是TSM DB裏面的Table,你稍微了解後,就知道怎麼提供業主想要的報表了。
nodes
filespaces
occupancy
schedules
drives
paths
mgmtclasses
summary
volumes
actlog
events
』
on哥望著咖啡、什麼尼、還有太陽的筆電...再看著那雙眼疲憊的太陽...「好! 我試! 你去吹風吧。」
(待)
2013/10/17 SunAllen
select a.NODE_NAME, a.SCHEDULE_NAME, a.STATUS, a.RESULT, to_char(a.ACTUAL_START, 'yyyy-mm-dd hh24:mi:ss') AS Start_Time, to_char(a.COMPLETED...
好眼熟這不是SQL指令嗎
是啊是啊...
今天很懶著用純SQL拿資料
使用CI的方法搞定
因為要join(4張表) + sum(兩個表的某欄位) + group(三張表的同欄位) + order(主表的欄位),很懶惰...
直接把主欄SHOW出來,結果再用物件去取得其他資料表資料!
SQL不是老鷹長項,除非CI有提供的方法